package com.nicolas.pattern.composite;

/**
 * Component（抽象构件）：它可以是接口或抽象类，为叶子构件和容器构件对象声明接口，
 * 在该角色中可以包含所有子类共有行为的声明和实现。
 * 在抽象构件中定义了访问及管理它的子构件的方法，如增加子构件、删除子构件、获取子构件等。
 * @author nicolas  2017年2月12日 -- 上午9:44:32
 */
public abstract class AbstractFile {
	//注释掉，为安全组合模式
	//安全组合模式中，在抽象构件Component中没有声明任何用于管理成员对象的方法，
	//而是在Composite类中声明并实现这些方法。
//	public abstract void add(AbstractFile file);  
//	public abstract void remove(AbstractFile file);  
//	public abstract AbstractFile getChild(int i);  
	public abstract void killVirus();  
}
